
class BLE:
    def init(self) -> int: ...
    
    def pyi_test(self) -> int: ...
    
    def pyi_test2(self) -> int: ...

    def pyi_test3(self, connhandle : int,valuehandle:int) -> int: ...

    def test_call_some_name(self) -> int: ...
    
    def pyi_check_active(self) -> bool: ...

    def pyi_active(self,active : bool) -> bool: ...
    
    def stop_advertise(self) -> int: ...
    
    def set_adv_data(self, data:bytes, data_len: int ) -> int : ...

    def set_rsp_data(self, data:bytes, data_len: int ) -> int : ...

    def pyi_gap_connect(self, peer_addr : bytes , peer_addr_type : int,scan_duration_ms : int) -> int : ...

    def pyi_gap_disconnect(self , conn_handle :int) -> int : ...

    def advertise(self,addr : int, interval : int, connectable : bool ,adv_data:bytes, adv_data_len: int, adv_data_append:bool, rsp_data:bytes, rsp_data_len: int) -> int: ... 
    
    def gatts_register_svcs(services_info : tuple, all_chr_count:int) -> int: ...

    def gap_stop_disc() -> int: ...

    def gap_disc(self, addr_mode : int, duration_ms:int, interval_us:int, window_us:int, active:bool) -> int: ...

    def setCallback(self, cb: any): ...

    def config_mac_get(self) -> str: ...

    def config_addr_mode_get(self) -> int :...

    def config_gap_name_get(self) -> str :...

    def config_gap_uuid_get(self) -> bytes :...
    
    def config_mtu_get(self) -> int:...

    def config_addr_rxbuf_get(self) -> int:...

    def config_bond_get(self) -> int:...

    def config_mitm_get(self) -> int:...
    
    def config_io_get(self) -> int:...
    
    def config_le_secure_get(self) -> int:...

    def config_mac_update(mac) -> int:...
        
    def config_addr_mode_update(addr_mode) -> int:...

    def config_gap_name_update(gap_name : str) -> int: ...

    def config_rxbuf_update(rxbuf : int) -> int:...

    def config_mtu_update(mtu : int) -> int:...
        
    def config_bond_update(bond : bool ) -> int:...

    def config_mitm_update(mitm : bool ) -> int:...

    def config_io_update(io : int ) -> int:...

    def config_gap_uuid_update(uuid : bytes,len : int) -> int:...

    def config_le_secure_update(le_secure : bool ) -> int:...

    def pyi_gatts_notify(conn_handle : int, value_handle : int, data:bytes ,data_size :int) -> int:...

    def pyi_gatts_indicate(conn_handle : int, value_handle : int, data:bytes ,data_size :int) -> int:...

    def gatts_chr_updated(chr_val_handle:int) -> int:...

    def pyi_gatts_show_local() -> int:...

    def gattc_dis_svcs(conn_handle : int ) -> int:...
    
    def gattc_dis_svcs_by_uuid(conn_handle : int,uuid: bytes , len:int) -> int:...

    def gattc_dis_chrs(conn_handle : int,start_handle : int, end_handle : int) -> int:...
    
    def gattc_dis_chrs_by_uuid(conn_handle : int, start_handle : int, end_handle : int, uuid : bytes, len:int) -> int:...

    def gattc_dis_dscs(conn_handle : int,start_handle : int, end_handle : int) -> int:...

    def pyi_gattc_read(conn_handle : int, value_handle : int) -> int:...

    def gattc_write_with_no_rsp(conn_handle : int , value_handle : int, data : str ,data_len : int) -> int:...
        
    def gattc_write_with_rsp(conn_handle : int , value_handle : int, data : str , data_len : int) -> int:...

    def pyi_gattc_exchange_mtu(conn_handle : int) -> int:...

    def pyi_gattc_subscribe(conn_handle : int,value_handle : int,subscribe : int) -> int:...

    # def pyi_gattc_subscribe_notify(conn_handle : int,value_handle : int,subscribe : bool) -> int:...
    
    # def pyi_gattc_subscribe_indicate(conn_handle : int,value_handle : int, subscribe : bool) -> int:...

